const ip = require('ip')
const koa = require('koa')
const static = require('koa-static')
const Router = require('koa-router')
const Schedule = require('node-schedule')
const cluster = require('child_process')
// const usage = require('usage')
// const os = require('os')
const PJApi = require('./bin/pjapi')

const router = new Router()
const app = new koa()

router.get('/', async(ctx) => {
    ctx.body = 'Hello Koa'
})

async function start() {
    app.use(router.routes())
        .use(static(__dirname + '/static')) // 定义静态目录

    // cluster.fork('./bin/xhj.js') // 定时访问接口
    // cluster.fork('./bin/xhj.js') // 定时访问接口
    // cluster.fork('./bin/xhj.js') // 定时访问接口
    // cluster.fork('./bin/xhj.js') // 定时访问接口
    // cluster.fork('./bin/dds.js') // 定时访问接口
    // cluster.fork('./bin/dds.js') // 定时访问接口
    // cluster.fork('./bin/dds.js') // 定时访问接口
    // cluster.fork('./bin/pjapi.js')

    // 定时任务 每隔1分钟执行一次
    Schedule.scheduleJob('*/60 * * * * *', () => {
        // console.log('定时任务开始执行')
        // cluster.fork('./bin/pjapi.js') // 定时访问接口
        PJApi.run()

    })

    // cluster.on('disconnect', worker => {
    //     console.log(`${worker.id} disconnect`)
    // })

    // cluster.on('exit', worker => {
    //     console.log(`${worker.id} process exit`)
    // })

    const host = ip.address()
    const port = 7109
    app.listen(port, host)

    console.log(`Server listening on http://${host}:${port}`)
}

start()
